using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using Microsoft.SqlServer.Types;
using SinBiota.Model.Business.MapServices.Datatypes;

namespace SinBiota.Model.Business.MapServices.Interfaces
{
    public interface IDrawingServices
    {
        Image DrawThumbnail(TileLayer tileLayer, int size);
        Image DrawTileLayerImage(TileLayer tileLayer, string quadkey);
        Image DrawTileLayerImageFromGeographyList(IList<SqlGeography> geographyList, TileLayer tileLayer, string quadkey);
        Image DrawLegend(TileLayer tileLayer);
        void ColorImage(Bitmap bitmap, Color color);
        Color HSL2RGB(double h, double sl, double l);
        void WriteImageToFile(Image image, string imageFilePath, ImageFormat format = null);
        Image ByteArrayToImage(byte[] image);
        byte[] ImageToByteArray(Image image, ImageFormat format = null);
    }
}